Skip to content

flow: Use Virtual Clocks for IO Delays#4294

Merged
maliberty merged 10 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:secure-fix-cts-propagated-clock
Jun 17, 2026
Merged

flow: Use Virtual Clocks for IO Delays#4294
maliberty merged 10 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:secure-fix-cts-propagated-clock

Conversation

@jhkim-pii

@jhkim-pii jhkim-pii commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Update design SDC constraints so IO delays reference virtual clocks instead of real design clocks.
  • Advance the OpenROAD submodule to include the CTS fix that preserves virtual clock latency.

Problem

  • IO delay constraints tied to real clocks can become referenced to propagated internal clock latency after CTS.
  • The external IO timing reference should remain virtual while the real design clock is propagated through the clock tree.

Solution

  • Add virtual IO clocks beside real design clocks in ORFS design SDC files.
  • Assign the same estimated clock latency to each real clock and its corresponding virtual IO clock.
  • Retarget active set_input_delay and set_output_delay commands to the virtual IO clocks.
  • Replace all-clock propagation in touched post-CTS SDCs with explicit real clock propagation.
  • Update tools/OpenROAD to include the CTS fix that preserves virtual clock latency through CTS.

Impact

  • IO timing after CTS remains referenced to the external/estimated virtual clock model.
  • Real design clocks are still propagated for internal clock tree timing.

Related

@jhkim-pii jhkim-pii self-assigned this Jun 15, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the SDC constraints across multiple designs to define virtual clocks and set matching clock latencies for both real and virtual clocks, alongside updating the OpenROAD submodule. The review feedback highlights several critical issues in the constraints: an undefined variable $clk_core_name in the I2C GPIO expander design, a missing virtual clock definition for vclk_i in the Mempool Group design, and missing clock latency configurations for the JTAG clocks in the Microwatt design.

Comment thread flow/designs/ihp-sg13g2/i2c-gpio-expander/constraint.sdc Outdated
Comment thread flow/designs/nangate45/mempool_group/mempool_group.sdc Outdated
Comment thread flow/designs/sky130hd/microwatt/constraint.sdc
@openroad-ci openroad-ci force-pushed the secure-fix-cts-propagated-clock branch 4 times, most recently from 4b5d4e0 to 26249cf Compare June 15, 2026 06:11
Create virtual IO reference clocks for SDC input and output delay constraints so post-CTS propagated real clocks do not become the external timing reference.

Propagate only the real design clocks in post-CTS SDCs while preserving virtual clock latency for IO timing.

Update the OpenROAD submodule pointer to include the CTS virtual clock latency fix used by these constraints.

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Rebase metric thresholds for designs affected by the updated OpenROAD build used in CI.\n\nAdjust timing and antenna limits to match the observed public and secure CI outputs while preserving existing metric coverage.\n\nExclude the local OpenROAD submodule checkout change from this commit.

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
@openroad-ci openroad-ci force-pushed the secure-fix-cts-propagated-clock branch from 26249cf to a6e23b0 Compare June 15, 2026 09:22
Set real and virtual IO clock latency estimates from propagated CTS clock latency reported in CI artifacts.

Use the representative average of source and target clock latency from 4_cts_final reports so IO virtual clocks track observed post-CTS insertion delay more closely.

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Relax metric thresholds for designs affected by the updated IO clock latency estimates.

Use the latest public and secure CI results to update timing and wirelength rules for failing designs.

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Update the OpenROAD submodule to the private secure-fix-cts-propagated-clock commit that preserves virtual clock latency during CTS.

This lets the SDC virtual IO clock latency changes affect post-CTS timing and downstream QoR in CI.

Only the OpenROAD submodule pointer is changed.

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
…agated-clock

# Conflicts:
#	tools/OpenROAD

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Update metadata golden files for the public PR-4294 merge run.

Use the PR-4294-merge The-OpenROAD-Project#10 report metrics for designs that failed the public inline metric comparison so the expected metric baseline matches the virtual IO clock constraints.

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Revert the deprecated metadata-base-ok.json updates from the previous metric rebase.

Update rules-base.json for the public PR-4294 merge run using the reported metrics so the public metric checks match the virtual IO clock constraints.

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Update the gf12 ariane rules baseline from secure CI build 16.

Relax the CTS setup TNS rule to match the virtual IO clock timing result while keeping deprecated metadata-base-ok.json files untouched.

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Add an empty commit to retrigger the public PR merge CI after the rules rebase.

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
@jhkim-pii

Copy link
Copy Markdown
Contributor Author

@maliberty maliberty merged commit a89f995 into The-OpenROAD-Project:master Jun 17, 2026
8 checks passed
@maliberty maliberty deleted the secure-fix-cts-propagated-clock branch June 17, 2026 18:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants